home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / texinfo.info-4.z / texinfo.info-4
Encoding:
GNU Info File  |  1998-05-21  |  50.3 KB  |  1,400 lines

  1. This is Info file ../info/texinfo.info, produced by Makeinfo version
  2. 1.68 from the input file texinfo.texi.
  3.  
  4. INFO-DIR-SECTION Texinfo documentation system
  5. START-INFO-DIR-ENTRY
  6. * Texinfo: (texinfo).           The GNU documentation format.
  7. * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
  8. * texi2dvi: (texinfo)Format with texi2dvi.      Printing Texinfo documentation.
  9. * texindex: (texinfo)Format with tex/texindex.  Sorting Texinfo index files.
  10. * makeinfo: (texinfo)makeinfo Preferred.        Translate Texinfo source.
  11. END-INFO-DIR-ENTRY
  12.  
  13.   This file documents Texinfo, a documentation system that can produce
  14. both on-line information and a printed manual from a single source file.
  15.  
  16.   Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97 Free Software
  17. Foundation, Inc.
  18.  
  19.   This is the second edition of the Texinfo documentation,
  20. and is consistent with version 2 of `texinfo.tex'.
  21.  
  22.   Permission is granted to make and distribute verbatim copies of this
  23. manual provided the copyright notice and this permission notice are
  24. preserved on all copies.
  25.  
  26.   Permission is granted to copy and distribute modified versions of this
  27. manual under the conditions for verbatim copying, provided that the
  28. entire resulting derived work is distributed under the terms of a
  29. permission notice identical to this one.
  30.  
  31.   Permission is granted to copy and distribute translations of this
  32. manual into another language, under the above conditions for modified
  33. versions, except that this permission notice may be stated in a
  34. translation approved by the Free Software Foundation.
  35.  
  36. 
  37. File: texinfo.info,  Node: Node Menu Illustration,  Next: node,  Prev: Two Paths,  Up: Nodes
  38.  
  39. Node and Menu Illustration
  40. ==========================
  41.  
  42.   Here is a copy of the diagram shown earlier that illustrates a Texinfo
  43. file with three chapters, each of which contains two sections.
  44.  
  45.   Note that the "root" is at the top of the diagram and the "leaves"
  46. are at the bottom.  This is how such a diagram is drawn conventionally;
  47. it illustrates an upside-down tree.  For this reason, the root node is
  48. called the `Top' node, and `Up' node pointers carry you closer to the
  49. root.
  50.  
  51.                                Top
  52.                                 |
  53.               -------------------------------------
  54.              |                  |                  |
  55.           Chapter 1          Chapter 2          Chapter 3
  56.              |                  |                  |
  57.           --------           --------           --------
  58.          |        |         |        |         |        |
  59.       Section  Section   Section  Section   Section  Section
  60.         1.1      1.2       2.1      2.2       3.1      3.2
  61.  
  62.   Write the beginning of the node for Chapter 2 like this:
  63.  
  64.      @node     Chapter 2,  Chapter 3, Chapter 1, top
  65.      @comment  node-name,  next,      previous,  up
  66.  
  67. This `@node' line says that the name of this node is "Chapter 2", the
  68. name of the `Next' node is "Chapter 3", the name of the `Previous' node
  69. is "Chapter 1", and the name of the `Up' node is "Top".
  70.  
  71.      *Please Note:* `Next' refers to the next node at the same
  72.      hierarchical level in the manual, not necessarily to the next node
  73.      within the Texinfo file.  In the Texinfo file, the subsequent node
  74.      may be at a lower level--a section-level node may follow a
  75.      chapter-level node, and a subsection-level node may follow a
  76.      section-level node.  `Next' and `Previous' refer to nodes at the
  77.      *same* hierarchical level.  (The `Top' node contains the exception
  78.      to this rule.  Since the `Top' node is the only node at that
  79.      level, `Next' refers to the first following node, which is almost
  80.      always a chapter or chapter-level node.)
  81.  
  82.   To go to Sections 2.1 and 2.2 using Info, you need a menu inside
  83. Chapter 2.  (*Note Menus::.)  You would write the menu just before the
  84. beginning of Section 2.1, like this:
  85.  
  86.          @menu
  87.          * Sect. 2.1::    Description of this section.
  88.          * Sect. 2.2::
  89.          @end menu
  90.  
  91.   Write the node for Sect. 2.1 like this:
  92.  
  93.          @node     Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
  94.          @comment  node-name, next,      previous,  up
  95.  
  96.   In Info format, the `Next' and `Previous' pointers of a node usually
  97. lead to other nodes at the same level--from chapter to chapter or from
  98. section to section (sometimes, as shown, the `Previous' pointer points
  99. up); an `Up' pointer usually leads to a node at the level above (closer
  100. to the `Top' node); and a `Menu' leads to nodes at a level below (closer
  101. to `leaves').  (A cross reference can point to a node at any level; see
  102. *Note Cross References::.)
  103.  
  104.   Usually, an `@node' command and a chapter structuring command are
  105. used in sequence, along with indexing commands.  (You may follow the
  106. `@node' line with a comment line that reminds you which pointer is
  107. which.)
  108.  
  109.   Here is the beginning of the chapter in this manual called "Ending a
  110. Texinfo File".  This shows an `@node' line followed by a comment line,
  111. an `@chapter' line, and then by indexing lines.
  112.  
  113.      @node    Ending a File, Structuring, Beginning a File, Top
  114.      @comment node-name,     next,        previous,         up
  115.      @chapter Ending a Texinfo File
  116.      @cindex Ending a Texinfo file
  117.      @cindex Texinfo file ending
  118.      @cindex File ending
  119.  
  120. 
  121. File: texinfo.info,  Node: node,  Next: makeinfo Pointer Creation,  Prev: Node Menu Illustration,  Up: Nodes
  122.  
  123. The `@node' Command
  124. ===================
  125.  
  126.   A "node" is a segment of text that begins at an `@node' command and
  127. continues until the next `@node' command.  The definition of node is
  128. different from that for chapter or section.  A chapter may contain
  129. sections and a section may contain subsections; but a node cannot
  130. contain subnodes; the text of a node continues only until the next
  131. `@node' command in the file.  A node usually contains only one chapter
  132. structuring command, the one that follows the `@node' line.  On the
  133. other hand, in printed output nodes are used only for cross references,
  134. so a chapter or section may contain any number of nodes.  Indeed, a
  135. chapter usually contains several nodes, one for each section,
  136. subsection, and subsubsection.
  137.  
  138.   To create a node, write an `@node' command at the beginning of a
  139. line, and follow it with four arguments, separated by commas, on the
  140. rest of the same line.  These arguments are the name of the node, and
  141. the names of the `Next', `Previous', and `Up' pointers, in that order.
  142. You may insert spaces before each pointer if you wish; the spaces are
  143. ignored.  You must write the name of the node, and the names of the
  144. `Next', `Previous', and `Up' pointers, all on the same line.  Otherwise,
  145. the formatters fail.  (*note info: (info)Top, for more information
  146. about nodes in Info.)
  147.  
  148.   Usually, you write one of the chapter-structuring command lines
  149. immediately after an `@node' line--for example, an `@section' or
  150. `@subsection' line.  (*Note Types of Structuring Commands: Structuring
  151. Command Types.)
  152.  
  153.      *Please note:* The GNU Emacs Texinfo mode updating commands work
  154.      only with Texinfo files in which `@node' lines are followed by
  155.      chapter structuring lines.  *Note Updating Requirements::.
  156.  
  157.   TeX uses `@node' lines to identify the names to use for cross
  158. references.  For this reason, you must write `@node' lines in a Texinfo
  159. file that you intend to format for printing, even if you do not intend
  160. to format it for Info.  (Cross references, such as the one at the end
  161. of this sentence, are made with `@xref' and its related commands; see
  162. *Note Cross References::.)
  163.  
  164. * Menu:
  165.  
  166. * Node Names::                  How to choose node and pointer names.
  167. * Writing a Node::              How to write an `@node' line.
  168. * Node Line Tips::              Keep names short.
  169. * Node Line Requirements::      Keep names unique, without @-commands.
  170. * First Node::                  How to write a `Top' node.
  171. * makeinfo top command::        How to use the `@top' command.
  172. * Top Node Summary::            Write a brief description for readers.
  173.  
  174. 
  175. File: texinfo.info,  Node: Node Names,  Next: Writing a Node,  Prev: node,  Up: node
  176.  
  177. Choosing Node and Pointer Names
  178. -------------------------------
  179.  
  180.   The name of a node identifies the node.  The pointers enable you to
  181. reach other nodes and consist of the names of those nodes.
  182.  
  183.   Normally, a node's `Up' pointer contains the name of the node whose
  184. menu mentions that node.  The node's `Next' pointer contains the name
  185. of the node that follows that node in that menu and its `Previous'
  186. pointer contains the name of the node that precedes it in that menu.
  187. When a node's `Previous' node is the same as its `Up' node, both node
  188. pointers name the same node.
  189.  
  190.   Usually, the first node of a Texinfo file is the `Top' node, and its
  191. `Up' and `Previous' pointers point to the `dir' file, which contains
  192. the main menu for all of Info.
  193.  
  194.   The `Top' node itself contains the main or master menu for the manual.
  195. Also, it is helpful to include a brief description of the manual in the
  196. `Top' node.  *Note First Node::, for information on how to write the
  197. first node of a Texinfo file.
  198.  
  199. 
  200. File: texinfo.info,  Node: Writing a Node,  Next: Node Line Tips,  Prev: Node Names,  Up: node
  201.  
  202. How to Write an `@node' Line
  203. ----------------------------
  204.  
  205.   The easiest way to write an `@node' line is to write `@node' at the
  206. beginning of a line and then the name of the node, like this:
  207.  
  208.      @node NODE-NAME
  209.  
  210.   If you are using GNU Emacs, you can use the update node commands
  211. provided by Texinfo mode to insert the names of the pointers; or you
  212. can leave the pointers out of the Texinfo file and let `makeinfo'
  213. insert node pointers into the Info file it creates.  (*Note Texinfo
  214. Mode::, and *Note makeinfo Pointer Creation::.)
  215.  
  216.   Alternatively, you can insert the `Next', `Previous', and `Up'
  217. pointers yourself.  If you do this, you may find it helpful to use the
  218. Texinfo mode keyboard command `C-c C-c n'.  This command inserts
  219. `@node' and a comment line listing the names of the pointers in their
  220. proper order.  The comment line helps you keep track of which arguments
  221. are for which pointers.  This comment line is especially useful if you
  222. are not familiar with Texinfo.
  223.  
  224.   The template for a node line with `Next', `Previous', and `Up'
  225. pointers looks like this:
  226.  
  227.      @node NODE-NAME, NEXT, PREVIOUS, UP
  228.  
  229.   If you wish, you can ignore `@node' lines altogether in your first
  230. draft and then use the `texinfo-insert-node-lines' command to create
  231. `@node' lines for you.  However, we do not recommend this practice.  It
  232. is better to name the node itself at the same time that you write a
  233. segment so you can easily make cross references.  A large number of
  234. cross references are an especially important feature of a good Info
  235. file.
  236.  
  237.   After you have inserted an `@node' line, you should immediately write
  238. an @-command for the chapter or section and insert its name.  Next (and
  239. this is important!), put in several index entries.  Usually, you will
  240. find at least two and often as many as four or five ways of referring
  241. to the node in the index.  Use them all.  This will make it much easier
  242. for people to find the node.
  243.  
  244. 
  245. File: texinfo.info,  Node: Node Line Tips,  Next: Node Line Requirements,  Prev: Writing a Node,  Up: node
  246.  
  247. `@node' Line Tips
  248. -----------------
  249.  
  250.   Here are three suggestions:
  251.  
  252.    * Try to pick node names that are informative but short.
  253.  
  254.      In the Info file, the file name, node name, and pointer names are
  255.      all inserted on one line, which may run into the right edge of the
  256.      window.  (This does not cause a problem with Info, but is ugly.)
  257.  
  258.    * Try to pick node names that differ from each other near the
  259.      beginnings of their names.  This way, it is easy to use automatic
  260.      name completion in Info.
  261.  
  262.    * By convention, node names are capitalized just as they would be for
  263.      section or chapter titles--initial and significant words are
  264.      capitalized; others are not.
  265.  
  266. 
  267. File: texinfo.info,  Node: Node Line Requirements,  Next: First Node,  Prev: Node Line Tips,  Up: node
  268.  
  269. `@node' Line Requirements
  270. -------------------------
  271.  
  272.   Here are several requirements for `@node' lines:
  273.  
  274.    * All the node names for a single Info file must be unique.
  275.  
  276.      Duplicates confuse the Info movement commands.  This means, for
  277.      example, that if you end every chapter with a summary, you must
  278.      name each summary node differently.  You cannot just call each one
  279.      "Summary".  You may, however, duplicate the titles of chapters,
  280.      sections, and the like.  Thus you can end each chapter in a book
  281.      with a section called "Summary", so long as the node names for
  282.      those sections are all different.
  283.  
  284.    * A pointer name must be the name of a node.
  285.  
  286.      The node to which a pointer points may come before or after the
  287.      node containing the pointer.
  288.  
  289.    * You cannot use any of the Texinfo @-commands in a node name;
  290.      @-commands confuse Info.
  291.  
  292.      Thus, the beginning of the section called `@chapter' looks like
  293.      this:
  294.  
  295.           @node  chapter, unnumbered & appendix, makeinfo top, Structuring
  296.           @comment  node-name,  next,  previous,  up
  297.           @section @code{@@chapter}
  298.           @findex chapter
  299.  
  300.    * You cannot use commas or apostrophes within a node name; these
  301.      confuse TeX or the Info formatters.
  302.  
  303.      For example, the following is a section title:
  304.  
  305.           @code{@@unnumberedsec}, @code{@@appendixsec}, @code{@@heading}
  306.  
  307.      The corresponding node name is:
  308.  
  309.           unnumberedsec appendixsec heading
  310.  
  311.    * Case is significant.
  312.  
  313. 
  314. File: texinfo.info,  Node: First Node,  Next: makeinfo top command,  Prev: Node Line Requirements,  Up: node
  315.  
  316. The First Node
  317. --------------
  318.  
  319.   The first node of a Texinfo file is the "Top" node, except in an
  320. included file (*note Include Files::.).  The Top node contains the main
  321. or master menu for the document, and a short summary of the document
  322. (*note Top Node Summary::.).
  323.  
  324.   The Top node (which must be named `top' or `Top') should have as its
  325. `Up' node the name of a node in another file, where there is a menu
  326. that leads to this file.  Specify the file name in parentheses.  If the
  327. file is to be installed directly in the Info directory file, use
  328. `(dir)' as the parent of the Top node; this is short for `(dir)top',
  329. and specifies the Top node in the `dir' file, which contains the main
  330. menu for the Info system as a whole.  For example, the `@node Top' line
  331. of this manual looks like this:
  332.  
  333.      @node Top, Copying, , (dir)
  334.  
  335. (You can use the Texinfo updating commands or the `makeinfo' utility to
  336. insert these pointers automatically.)
  337.  
  338.   Do not define the `Previous' node of the Top node to be `(dir)', as
  339. it causes confusing behavior for users: if you are in the Top node and
  340. hits <DEL> to go backwards, you wind up in the middle of the some other
  341. entry in the `dir' file, which has nothing to do with what you were
  342. reading.
  343.  
  344.   *Note Install an Info File::, for more information about installing
  345. an Info file in the `info' directory.
  346.  
  347. 
  348. File: texinfo.info,  Node: makeinfo top command,  Next: Top Node Summary,  Prev: First Node,  Up: node
  349.  
  350. The `@top' Sectioning Command
  351. -----------------------------
  352.  
  353.   A special sectioning command, `@top', has been created for use with
  354. the `@node Top' line.  The `@top' sectioning command tells `makeinfo'
  355. that it marks the `Top' node in the file.  It provides the information
  356. that `makeinfo' needs to insert node pointers automatically.  Write the
  357. `@top' command at the beginning of the line immediately following the
  358. `@node Top' line.  Write the title on the remaining part of the same
  359. line as the `@top' command.
  360.  
  361.   In Info, the `@top' sectioning command causes the title to appear on a
  362. line by itself, with a line of asterisks inserted underneath.
  363.  
  364.   In TeX and `texinfo-format-buffer', the `@top' sectioning command is
  365. merely a synonym for `@unnumbered'.  Neither of these formatters
  366. require an `@top' command, and do nothing special with it.  You can use
  367. `@chapter' or `@unnumbered' after the `@node Top' line when you use
  368. these formatters.  Also, you can use `@chapter' or `@unnumbered' when
  369. you use the Texinfo updating commands to create or update pointers and
  370. menus.
  371.  
  372. 
  373. File: texinfo.info,  Node: Top Node Summary,  Prev: makeinfo top command,  Up: node
  374.  
  375. The `Top' Node Summary
  376. ----------------------
  377.  
  378.   You can help readers by writing a summary in the `Top' node, after the
  379. `@top' line, before the main or master menu.  The summary should
  380. briefly describe the document.  In Info, this summary will appear just
  381. before the master menu.  In a printed manual, this summary will appear
  382. on a page of its own.
  383.  
  384.   If you do not want the summary to appear on a page of its own in a
  385. printed manual, you can enclose the whole of the `Top' node, including
  386. the `@node Top' line and the `@top' sectioning command line or other
  387. sectioning command line between `@ifinfo' and `@end ifinfo'.  This
  388. prevents any of the text from appearing in the printed output. (*note
  389. Conditionally Visible Text: Conditionals.).  You can repeat the brief
  390. description from the `Top' node within `@iftex' ... `@end iftex' at the
  391. beginning of the first chapter, for those who read the printed manual.
  392. This saves paper and may look neater.
  393.  
  394.   You should write the version number of the program to which the manual
  395. applies in the summary.  This helps the reader keep track of which
  396. manual is for which version of the program.  If the manual changes more
  397. frequently than the program or is independent of it, you should also
  398. include an edition number for the manual.  (The title page should also
  399. contain this information: see *Note `@titlepage': titlepage.)
  400.  
  401. 
  402. File: texinfo.info,  Node: makeinfo Pointer Creation,  Prev: node,  Up: Nodes
  403.  
  404. Creating Pointers with `makeinfo'
  405. =================================
  406.  
  407.   The `makeinfo' program has a feature for automatically creating node
  408. pointers for a hierarchically organized file that lacks them.
  409.  
  410.   When you take advantage of this feature, you do not need to write the
  411. `Next', `Previous', and `Up' pointers after the name of a node.
  412. However, you must write a sectioning command, such as `@chapter' or
  413. `@section', on the line immediately following each truncated `@node'
  414. line.  You cannot write a comment line after a node line; the section
  415. line must follow it immediately.
  416.  
  417.   In addition, you must follow the `Top' `@node' line with a line
  418. beginning with `@top' to mark the `Top' node in the file. *Note `@top':
  419. makeinfo top.
  420.  
  421.   Finally, you must write the name of each node (except for the `Top'
  422. node) in a menu that is one or more hierarchical levels above the
  423. node's hierarchical level.
  424.  
  425.   This node pointer insertion feature in `makeinfo' is an alternative
  426. to the menu and pointer creation and update commands in Texinfo mode.
  427. (*Note Updating Nodes and Menus::.)  It is especially helpful to people
  428. who do not use GNU Emacs for writing Texinfo documents.
  429.  
  430. 
  431. File: texinfo.info,  Node: Menus,  Next: Cross References,  Prev: Nodes,  Up: Top
  432.  
  433. Menus
  434. *****
  435.  
  436.   "Menus" contain pointers to subordinate nodes.(1) (*note
  437. Menus-Footnotes::) In Info, you use menus to go to such nodes.  Menus
  438. have no effect in printed manuals and do not appear in them.
  439.  
  440.   By convention, a menu is put at the end of a node since a reader who
  441. uses the menu may not see text that follows it.
  442.  
  443.   A node that has a menu should *not* contain much text.  If you have a
  444. lot of text and a menu, move most of the text into a new subnode--all
  445. but a few lines.
  446.  
  447. * Menu:
  448.  
  449. * Menu Location::               Put a menu in a short node.
  450. * Writing a Menu::              What is a menu?
  451. * Menu Parts::                  A menu entry has three parts.
  452. * Less Cluttered Menu Entry::   Two part menu entry.
  453. * Menu Example::                Two and three part menu entries.
  454. * Other Info Files::            How to refer to a different Info file.
  455.  
  456. 
  457. File: texinfo.info,  Node: Menus-Footnotes,  Up: Menus
  458.  
  459.   (1) Menus can carry you to any node, regardless of the hierarchical
  460. structure; even to nodes in a different Info file.  However, the GNU
  461. Emacs Texinfo mode updating commands work only to create menus of
  462. subordinate nodes.  Conventionally, cross references are used to refer
  463. to other nodes.
  464.  
  465. 
  466. File: texinfo.info,  Node: Menu Location,  Next: Writing a Menu,  Prev: Menus,  Up: Menus
  467.  
  468. Menus Need Short Nodes
  469. ======================
  470.  
  471.   A reader can easily see a menu that is close to the beginning of the
  472. node.  The node should be short.  As a practical matter, you should
  473. locate a menu within 20 lines of the beginning of the node.  Otherwise,
  474. a reader with a terminal that displays only a few lines may miss the
  475. menu and its associated text.
  476.  
  477.   The short text before a menu may look awkward in a printed manual.  To
  478. avoid this, you can write a menu near the beginning of its node and
  479. follow the menu by an `@node' line, and then an `@heading' line located
  480. within `@ifinfo' and `@end ifinfo'.  This way, the menu, `@node' line,
  481. and title appear only in the Info file, not the printed document.
  482.  
  483.   For example, the preceding two paragraphs follow an Info-only menu,
  484. `@node' line, and heading, and look like this:
  485.  
  486.      @menu
  487.      * Menu Location::             Put a menu in a short node.
  488.      * Writing a Menu::            What is a menu?
  489.      * Menu Parts::                A menu entry has three parts.
  490.      * Less Cluttered Menu Entry:: Two part menu entry.
  491.      * Menu Example::              Two and three part entries.
  492.      * Other Info Files::          How to refer to a different
  493.                                      Info file.
  494.      @end menu
  495.      
  496.      @node Menu Location, Writing a Menu, , Menus
  497.      @ifinfo
  498.      @heading Menus Need Short Nodes
  499.      @end ifinfo
  500.  
  501.   The Texinfo file for this document contains more than a dozen
  502. examples of this procedure.  One is at the beginning of this chapter;
  503. another is at the beginning of the "Cross References" chapter.
  504.  
  505. 
  506. File: texinfo.info,  Node: Writing a Menu,  Next: Menu Parts,  Prev: Menu Location,  Up: Menus
  507.  
  508. Writing a Menu
  509. ==============
  510.  
  511.   A menu consists of an `@menu' command on a line by itself followed by
  512. menu entry lines or menu comment lines and then by an `@end menu'
  513. command on a line by itself.
  514.  
  515.   A menu looks like this:
  516.  
  517.      @menu
  518.      Larger Units of Text
  519.      
  520.      * Files::                       All about handling files.
  521.      * Multiples: Buffers.           Multiple buffers; editing
  522.                                        several files at once.
  523.      @end menu
  524.  
  525.   In a menu, every line that begins with an `* ' is a "menu entry".
  526. (Note the space after the asterisk.)  A line that does not start with
  527. an `* ' may also appear in a menu.  Such a line is not a menu entry but
  528. is a menu comment line that appears in the Info file.  In the example
  529. above, the line `Larger Units of Text' is a menu comment line; the two
  530. lines starting with `* ' are menu entries.
  531.  
  532. 
  533. File: texinfo.info,  Node: Menu Parts,  Next: Less Cluttered Menu Entry,  Prev: Writing a Menu,  Up: Menus
  534.  
  535. The Parts of a Menu
  536. ===================
  537.  
  538.   A menu entry has three parts, only the second of which is required:
  539.  
  540.   1. The menu entry name (optional).
  541.  
  542.   2. The name of the node (required).
  543.  
  544.   3. A description of the item (optional).
  545.  
  546.   The template for a menu entry looks like this:
  547.  
  548.      * MENU-ENTRY-NAME: NODE-NAME.   DESCRIPTION
  549.  
  550.   Follow the menu entry name with a single colon and follow the node
  551. name with tab, comma, period, or newline.
  552.  
  553.   In Info, a user selects a node with the `m' (`Info-menu') command.
  554. The menu entry name is what the user types after the `m' command.
  555.  
  556.   The third part of a menu entry is a descriptive phrase or sentence.
  557. Menu entry names and node names are often short; the description
  558. explains to the reader what the node is about.  A useful description
  559. complements the node name rather than repeats it.  The description,
  560. which is optional, can spread over two or more lines; if it does, some
  561. authors prefer to indent the second line while others prefer to align it
  562. with the first (and all others).  It's up to you.
  563.  
  564. 
  565. File: texinfo.info,  Node: Less Cluttered Menu Entry,  Next: Menu Example,  Prev: Menu Parts,  Up: Menus
  566.  
  567. Less Cluttered Menu Entry
  568. =========================
  569.  
  570.   When the menu entry name and node name are the same, you can write
  571. the name immediately after the asterisk and space at the beginning of
  572. the line and follow the name with two colons.
  573.  
  574.   For example, write
  575.  
  576.      * Name::                                    DESCRIPTION
  577.  
  578. instead of
  579.  
  580.      * Name: Name.                               DESCRIPTION
  581.  
  582.   You should use the node name for the menu entry name whenever
  583. possible, since it reduces visual clutter in the menu.
  584.  
  585. 
  586. File: texinfo.info,  Node: Menu Example,  Next: Other Info Files,  Prev: Less Cluttered Menu Entry,  Up: Menus
  587.  
  588. A Menu Example
  589. ==============
  590.  
  591.   A menu looks like this in Texinfo:
  592.  
  593.      @menu
  594.      * menu entry name: Node name.   A short description.
  595.      * Node name::                   This form is preferred.
  596.      @end menu
  597.  
  598. This produces:
  599.  
  600.      * menu:
  601.      
  602.      * menu entry name: Node name.   A short description.
  603.      * Node name::                   This form is preferred.
  604.  
  605.   Here is an example as you might see it in a Texinfo file:
  606.  
  607.      @menu
  608.      Larger Units of Text
  609.      
  610.      * Files::                       All about handling files.
  611.      * Multiples: Buffers.           Multiple buffers; editing
  612.                                        several files at once.
  613.      @end menu
  614.  
  615. This produces:
  616.  
  617.      * menu:
  618.      Larger Units of Text
  619.      
  620.      * Files::                       All about handling files.
  621.      * Multiples: Buffers.           Multiple buffers; editing
  622.                                        several files at once.
  623.  
  624.   In this example, the menu has two entries.  `Files' is both a menu
  625. entry name and the name of the node referred to by that name.
  626. `Multiples' is the menu entry name; it refers to the node named
  627. `Buffers'. The line `Larger Units of Text' is a comment; it appears in
  628. the menu, but is not an entry.
  629.  
  630.   Since no file name is specified with either `Files' or `Buffers',
  631. they must be the names of nodes in the same Info file (*note Referring
  632. to Other Info Files: Other Info Files.).
  633.  
  634. 
  635. File: texinfo.info,  Node: Other Info Files,  Prev: Menu Example,  Up: Menus
  636.  
  637. Referring to Other Info Files
  638. =============================
  639.  
  640.   You can create a menu entry that enables a reader in Info to go to a
  641. node in another Info file by writing the file name in parentheses just
  642. before the node name.  In this case, you should use the three-part menu
  643. entry format, which saves the reader from having to type the file name.
  644.  
  645.   The format looks like this:
  646.  
  647.      @menu
  648.      * FIRST-ENTRY-NAME:(FILENAME)NODENAME.     DESCRIPTION
  649.      * SECOND-ENTRY-NAME:(FILENAME)SECOND-NODE. DESCRIPTION
  650.      @end menu
  651.  
  652.   For example, to refer directly to the `Outlining' and `Rebinding'
  653. nodes in the `Emacs Manual', you would write a menu like this:
  654.  
  655.      @menu
  656.      * Outlining: (emacs)Outline Mode. The major mode for
  657.                                        editing outlines.
  658.      * Rebinding: (emacs)Rebinding.    How to redefine the
  659.                                        meaning of a key.
  660.      @end menu
  661.  
  662.   If you do not list the node name, but only name the file, then Info
  663. presumes that you are referring to the `Top' node.
  664.  
  665.   The `dir' file that contains the main menu for Info has menu entries
  666. that list only file names.  These take you directly to the `Top' nodes
  667. of each Info document.  (*Note Install an Info File::.)
  668.  
  669.   For example:
  670.  
  671.      * Info: (info).         Documentation browsing system.
  672.      * Emacs: (emacs).       The extensible, self-documenting
  673.                              text editor.
  674.  
  675. (The `dir' top level directory for the Info system is an Info file, not
  676. a Texinfo file, but a menu entry looks the same in both types of file.)
  677.  
  678.   Note that the GNU Emacs Texinfo mode menu updating commands only work
  679. with nodes within the current buffer, so you cannot use them to create
  680. menus that refer to other files.  You must write such menus by hand.
  681.  
  682. 
  683. File: texinfo.info,  Node: Cross References,  Next: Marking Text,  Prev: Menus,  Up: Top
  684.  
  685. Cross References
  686. ****************
  687.  
  688.   "Cross references" are used to refer the reader to other parts of the
  689. same or different Texinfo files.  In Texinfo, nodes are the places to
  690. which cross references can refer.
  691.  
  692. * Menu:
  693.  
  694. * References::                  What cross references are for.
  695. * Cross Reference Commands::    A summary of the different commands.
  696. * Cross Reference Parts::       A cross reference has several parts.
  697. * xref::                        Begin a reference with `See' ...
  698. * Top Node Naming::             How to refer to the beginning of another file.
  699. * ref::                         A reference for the last part of a sentence.
  700. * pxref::                       How to write a parenthetical cross reference.
  701. * inforef::                     How to refer to an Info-only file.
  702. * uref::                        How to refer to a uniform resource locator.
  703.  
  704. 
  705. File: texinfo.info,  Node: References,  Next: Cross Reference Commands,  Prev: Cross References,  Up: Cross References
  706.  
  707. What References Are For
  708. =======================
  709.  
  710.   Often, but not always, a printed document should be designed so that
  711. it can be read sequentially.  People tire of flipping back and forth to
  712. find information that should be presented to them as they need it.
  713.  
  714.   However, in any document, some information will be too detailed for
  715. the current context, or incidental to it; use cross references to
  716. provide access to such information.  Also, an on-line help system or a
  717. reference manual is not like a novel; few read such documents in
  718. sequence from beginning to end.  Instead, people look up what they
  719. need.  For this reason, such creations should contain many cross
  720. references to help readers find other information that they may not
  721. have read.
  722.  
  723.   In a printed manual, a cross reference results in a page reference,
  724. unless it is to another manual altogether, in which case the cross
  725. reference names that manual.
  726.  
  727.   In Info, a cross reference results in an entry that you can follow
  728. using the Info `f' command.  (*note Some advanced Info commands:
  729. (info)Help-Adv.)
  730.  
  731.   The various cross reference commands use nodes to define cross
  732. reference locations.  This is evident in Info, in which a cross
  733. reference takes you to the specified node.  TeX also uses nodes to
  734. define cross reference locations, but the action is less obvious.  When
  735. TeX generates a DVI file, it records nodes' page numbers and uses the
  736. page numbers in making references.  Thus, if you are writing a manual
  737. that will only be printed, and will not be used on-line, you must
  738. nonetheless write `@node' lines to name the places to which you make
  739. cross references.
  740.  
  741. 
  742. File: texinfo.info,  Node: Cross Reference Commands,  Next: Cross Reference Parts,  Prev: References,  Up: Cross References
  743.  
  744. Different Cross Reference Commands
  745. ==================================
  746.  
  747.   There are four different cross reference commands:
  748.  
  749. `@xref'
  750.      Used to start a sentence in the printed manual saying `See ...'
  751.      or an Info cross-reference saying `*Note NAME: NODE.'.
  752.  
  753. `@ref'
  754.      Used within or, more often, at the end of a sentence; same as
  755.      `@xref' for Info; produces just the reference in the printed
  756.      manual without a preceding `See'.
  757.  
  758. `@pxref'
  759.      Used within parentheses to make a reference that suits both an Info
  760.      file and a printed book.  Starts with a lower case `see' within the
  761.      printed manual. (`p' is for `parenthesis'.)
  762.  
  763. `@inforef'
  764.      Used to make a reference to an Info file for which there is no
  765.      printed manual.
  766.  
  767. (The `@cite' command is used to make references to books and manuals
  768. for which there is no corresponding Info file and, therefore, no node
  769. to which to point.   *Note `@cite': cite.)
  770.  
  771. 
  772. File: texinfo.info,  Node: Cross Reference Parts,  Next: xref,  Prev: Cross Reference Commands,  Up: Cross References
  773.  
  774. Parts of a Cross Reference
  775. ==========================
  776.  
  777.   A cross reference command requires only one argument, which is the
  778. name of the node to which it refers.  But a cross reference command may
  779. contain up to four additional arguments.  By using these arguments, you
  780. can provide a cross reference name for Info, a topic description or
  781. section title for the printed output, the name of a different Info
  782. file, and the name of a different printed manual.
  783.  
  784.   Here is a simple cross reference example:
  785.  
  786.      @xref{Node name}.
  787.  
  788. which produces
  789.  
  790.      *Note Node name::.
  791.  
  792. and
  793.  
  794.      See Section NNN [Node name], page PPP.
  795.  
  796.   Here is an example of a full five-part cross reference:
  797.  
  798.      @xref{Node name, Cross Reference Name, Particular Topic,
  799.      info-file-name, A Printed Manual}, for details.
  800.  
  801. which produces
  802.  
  803.      *Note Cross Reference Name: (info-file-name)Node name,
  804.      for details.
  805.  
  806. in Info and
  807.  
  808.      See section "Particular Topic" in A Printed Manual, for details.
  809.  
  810. in a printed book.
  811.  
  812.   The five possible arguments for a cross reference are:
  813.  
  814.   1. The node name (required).  This is the node to which the cross
  815.      reference takes you.  In a printed document, the location of the
  816.      node provides the page reference only for references within the
  817.      same document.
  818.  
  819.   2. The cross reference name for the Info reference, if it is to be
  820.      different from the node name.  If you include this argument, it
  821.      becomes the first part of the cross reference.  It is usually
  822.      omitted.
  823.  
  824.   3. A topic description or section name.  Often, this is the title of
  825.      the section.  This is used as the name of the reference in the
  826.      printed manual.  If omitted, the node name is used.
  827.  
  828.   4. The name of the Info file in which the reference is located, if it
  829.      is different from the current file.  You need not include any
  830.      `.info' suffix on the file name, since Info readers try appending
  831.      it automatically.
  832.  
  833.   5. The name of a printed manual from a different Texinfo file.
  834.  
  835.   The template for a full five argument cross reference looks like this:
  836.  
  837.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
  838.      INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
  839.  
  840.   Cross references with one, two, three, four, and five arguments are
  841. described separately following the description of `@xref'.
  842.  
  843.   Write a node name in a cross reference in exactly the same way as in
  844. the `@node' line, including the same capitalization; otherwise, the
  845. formatters may not find the reference.
  846.  
  847.   You can write cross reference commands within a paragraph, but note
  848. how Info and TeX format the output of each of the various commands:
  849. write `@xref' at the beginning of a sentence; write `@pxref' only
  850. within parentheses, and so on.
  851.  
  852. 
  853. File: texinfo.info,  Node: xref,  Next: Top Node Naming,  Prev: Cross Reference Parts,  Up: Cross References
  854.  
  855. `@xref'
  856. =======
  857.  
  858.   The `@xref' command generates a cross reference for the beginning of
  859. a sentence.  The Info formatting commands convert it into an Info cross
  860. reference, which the Info `f' command can use to bring you directly to
  861. another node.  The TeX typesetting commands convert it into a page
  862. reference, or a reference to another book or manual.
  863.  
  864. * Menu:
  865.  
  866. * Reference Syntax::            What a reference looks like and requires.
  867. * One Argument::                `@xref' with one argument.
  868. * Two Arguments::               `@xref' with two arguments.
  869. * Three Arguments::             `@xref' with three arguments.
  870. * Four and Five Arguments::     `@xref' with four and five arguments.
  871.  
  872. 
  873. File: texinfo.info,  Node: Reference Syntax,  Next: One Argument,  Prev: xref,  Up: xref
  874.  
  875. What a Reference Looks Like and Requires
  876. ----------------------------------------
  877.  
  878.   Most often, an Info cross reference looks like this:
  879.  
  880.      *Note NODE-NAME::.
  881.  
  882. or like this
  883.  
  884.      *Note CROSS-REFERENCE-NAME: NODE-NAME.
  885.  
  886. In TeX, a cross reference looks like this:
  887.  
  888.      See Section SECTION-NUMBER [NODE-NAME], page PAGE.
  889.  
  890. or like this
  891.  
  892.      See Section SECTION-NUMBER [TITLE-OR-TOPIC], page PAGE.
  893.  
  894.   The `@xref' command does not generate a period or comma to end the
  895. cross reference in either the Info file or the printed output.  You
  896. must write that period or comma yourself; otherwise, Info will not
  897. recognize the end of the reference.  (The `@pxref' command works
  898. differently.  *Note `@pxref': pxref.)
  899.  
  900.      *Please note:* A period or comma *must* follow the closing brace
  901.      of an `@xref'.  It is required to terminate the cross reference.
  902.      This period or comma will appear in the output, both in the Info
  903.      file and in the printed manual.
  904.  
  905.   `@xref' must refer to an Info node by name.  Use `@node' to define
  906. the node (*note Writing a Node::.).
  907.  
  908.   `@xref' is followed by several arguments inside braces, separated by
  909. commas.  Whitespace before and after these commas is ignored.
  910.  
  911.   A cross reference requires only the name of a node; but it may contain
  912. up to four additional arguments.  Each of these variations produces a
  913. cross reference that looks somewhat different.
  914.  
  915.      *Please note:* Commas separate arguments in a cross reference;
  916.      avoid including them in the title or other part lest the formatters
  917.      mistake them for separators.
  918.  
  919. 
  920. File: texinfo.info,  Node: One Argument,  Next: Two Arguments,  Prev: Reference Syntax,  Up: xref
  921.  
  922. `@xref' with One Argument
  923. -------------------------
  924.  
  925.   The simplest form of `@xref' takes one argument, the name of another
  926. node in the same Info file.    The Info formatters produce output that
  927. the Info readers can use to jump to the reference; TeX produces output
  928. that specifies the page and section number for you.
  929.  
  930. For example,
  931.  
  932.      @xref{Tropical Storms}.
  933.  
  934. produces
  935.  
  936.      *Note Tropical Storms::.
  937.  
  938. and
  939.  
  940.      See Section 3.1 [Tropical Storms], page 24.
  941.  
  942. (Note that in the preceding example the closing brace is followed by a
  943. period.)
  944.  
  945.   You can write a clause after the cross reference, like this:
  946.  
  947.      @xref{Tropical Storms}, for more info.
  948.  
  949. which produces
  950.  
  951.      *Note Tropical Storms::, for more info.
  952.  
  953.      See Section 3.1 [Tropical Storms], page 24, for more info.
  954.  
  955. (Note that in the preceding example the closing brace is followed by a
  956. comma, and then by the clause, which is followed by a period.)
  957.  
  958. 
  959. File: texinfo.info,  Node: Two Arguments,  Next: Three Arguments,  Prev: One Argument,  Up: xref
  960.  
  961. `@xref' with Two Arguments
  962. --------------------------
  963.  
  964.   With two arguments, the second is used as the name of the Info cross
  965. reference, while the first is still the name of the node to which the
  966. cross reference points.
  967.  
  968. The template is like this:
  969.  
  970.      @xref{NODE-NAME, CROSS-REFERENCE-NAME}.
  971.  
  972. For example,
  973.  
  974.      @xref{Electrical Effects, Lightning}.
  975.  
  976. produces:
  977.  
  978.      *Note Lightning: Electrical Effects.
  979.  
  980. and
  981.  
  982.      See Section 5.2 [Electrical Effects], page 57.
  983.  
  984. (Note that in the preceding example the closing brace is followed by a
  985. period; and that the node name is printed, not the cross reference
  986. name.)
  987.  
  988.   You can write a clause after the cross reference, like this:
  989.  
  990.      @xref{Electrical Effects, Lightning}, for more info.
  991.  
  992. which produces
  993.      *Note Lightning: Electrical Effects, for more info.
  994.  
  995. and
  996.  
  997.      See Section 5.2 [Electrical Effects], page 57, for more info.
  998.  
  999. (Note that in the preceding example the closing brace is followed by a
  1000. comma, and then by the clause, which is followed by a period.)
  1001.  
  1002. 
  1003. File: texinfo.info,  Node: Three Arguments,  Next: Four and Five Arguments,  Prev: Two Arguments,  Up: xref
  1004.  
  1005. `@xref' with Three Arguments
  1006. ----------------------------
  1007.  
  1008.   A third argument replaces the node name in the TeX output.  The third
  1009. argument should be the name of the section in the printed output, or
  1010. else state the topic discussed by that section.  Often, you will want to
  1011. use initial upper case letters so it will be easier to read when the
  1012. reference is printed.  Use a third argument when the node name is
  1013. unsuitable because of syntax or meaning.
  1014.  
  1015.   Remember to avoid placing a comma within the title or topic section of
  1016. a cross reference, or within any other section.  The formatters divide
  1017. cross references into arguments according to the commas; a comma within
  1018. a title or other section will divide it into two arguments.  In a
  1019. reference, you need to write a title such as "Clouds, Mist, and Fog"
  1020. without the commas.
  1021.  
  1022.   Also, remember to write a comma or period after the closing brace of a
  1023. `@xref' to terminate the cross reference.  In the following examples, a
  1024. clause follows a terminating comma.
  1025.  
  1026. The template is like this:
  1027.  
  1028.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC}.
  1029.  
  1030. For example,
  1031.  
  1032.      @xref{Electrical Effects, Lightning, Thunder and Lightning},
  1033.      for details.
  1034.  
  1035. produces
  1036.  
  1037.      *Note Lightning: Electrical Effects, for details.
  1038.  
  1039. and
  1040.  
  1041.      See Section 5.2 [Thunder and Lightning], page 57, for details.
  1042.  
  1043.   If a third argument is given and the second one is empty, then the
  1044. third argument serves both.  (Note how two commas, side by side, mark
  1045. the empty second argument.)
  1046.  
  1047.      @xref{Electrical Effects, , Thunder and Lightning},
  1048.      for details.
  1049.  
  1050. produces
  1051.  
  1052.      *Note Thunder and Lightning: Electrical Effects, for details.
  1053.  
  1054. and
  1055.  
  1056.      See Section 5.2 [Thunder and Lightning], page 57, for details.
  1057.  
  1058.   As a practical matter, it is often best to write cross references with
  1059. just the first argument if the node name and the section title are the
  1060. same, and with the first and third arguments if the node name and title
  1061. are different.
  1062.  
  1063.   Here are several examples from `The GNU Awk User's Guide':
  1064.  
  1065.      @xref{Sample Program}.
  1066.      @xref{Glossary}.
  1067.      @xref{Case-sensitivity, ,Case-sensitivity in Matching}.
  1068.      @xref{Close Output, , Closing Output Files and Pipes},
  1069.         for more information.
  1070.      @xref{Regexp, , Regular Expressions as Patterns}.
  1071.  
  1072. 
  1073. File: texinfo.info,  Node: Four and Five Arguments,  Prev: Three Arguments,  Up: xref
  1074.  
  1075. `@xref' with Four and Five Arguments
  1076. ------------------------------------
  1077.  
  1078.   In a cross reference, a fourth argument specifies the name of another
  1079. Info file, different from the file in which the reference appears, and
  1080. a fifth argument specifies its title as a printed manual.
  1081.  
  1082.   Remember that a comma or period must follow the closing brace of an
  1083. `@xref' command to terminate the cross reference.  In the following
  1084. examples, a clause follows a terminating comma.
  1085.  
  1086. The template is:
  1087.  
  1088.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
  1089.      INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
  1090.  
  1091. For example,
  1092.  
  1093.      @xref{Electrical Effects, Lightning, Thunder and Lightning,
  1094.      weather, An Introduction to Meteorology}, for details.
  1095.  
  1096. produces
  1097.  
  1098.      *Note Lightning: (weather)Electrical Effects, for details.
  1099.  
  1100. The name of the Info file is enclosed in parentheses and precedes the
  1101. name of the node.
  1102.  
  1103. In a printed manual, the reference looks like this:
  1104.  
  1105.      See section "Thunder and Lightning" in An Introduction to
  1106.      Meteorology, for details.
  1107.  
  1108. The title of the printed manual is typeset in italics; and the
  1109. reference lacks a page number since TeX cannot know to which page a
  1110. reference refers when that reference is to another manual.
  1111.  
  1112.   Often, you will leave out the second argument when you use the long
  1113. version of `@xref'.  In this case, the third argument, the topic
  1114. description, will be used as the cross reference name in Info.
  1115.  
  1116. The template looks like this:
  1117.  
  1118.      @xref{NODE-NAME, , TITLE-OR-TOPIC, INFO-FILE-NAME,
  1119.      PRINTED-MANUAL-TITLE}, for details.
  1120.  
  1121. which produces
  1122.  
  1123.      *Note TITLE-OR-TOPIC: (INFO-FILE-NAME)NODE-NAME, for details.
  1124.  
  1125. and
  1126.  
  1127.      See section TITLE-OR-TOPIC in PRINTED-MANUAL-TITLE, for details.
  1128.  
  1129. For example,
  1130.  
  1131.      @xref{Electrical Effects, , Thunder and Lightning,
  1132.      weather, An Introduction to Meteorology}, for details.
  1133.  
  1134. produces
  1135.  
  1136.      *Note Thunder and Lightning: (weather)Electrical Effects,
  1137.      for details.
  1138.  
  1139. and
  1140.  
  1141.      See section "Thunder and Lightning" in An Introduction to
  1142.      Meteorology, for details.
  1143.  
  1144.   On rare occasions, you may want to refer to another Info file that is
  1145. within a single printed manual--when multiple Texinfo files are
  1146. incorporated into the same TeX run but make separate Info files.  In
  1147. this case, you need to specify only the fourth argument, and not the
  1148. fifth.
  1149.  
  1150. 
  1151. File: texinfo.info,  Node: Top Node Naming,  Next: ref,  Prev: xref,  Up: Cross References
  1152.  
  1153. Naming a `Top' Node
  1154. ===================
  1155.  
  1156.   In a cross reference, you must always name a node.  This means that in
  1157. order to refer to a whole manual, you must identify the `Top' node by
  1158. writing it as the first argument to the `@xref' command.  (This is
  1159. different from the way you write a menu entry; see *Note Referring to
  1160. Other Info Files: Other Info Files.)  At the same time, to provide a
  1161. meaningful section topic or title in the printed cross reference
  1162. (instead of the word `Top'), you must write an appropriate entry for
  1163. the third argument to the `@xref' command.
  1164.  
  1165. Thus, to make a cross reference to `The GNU Make Manual', write:
  1166.  
  1167.      @xref{Top, , Overview, make, The GNU Make Manual}.
  1168.  
  1169. which produces
  1170.  
  1171.      *Note Overview: (make)Top.
  1172.  
  1173. and
  1174.  
  1175.      See section "Overview" in The GNU Make Manual.
  1176.  
  1177. In this example, `Top' is the name of the first node, and `Overview' is
  1178. the name of the first section of the manual.
  1179.  
  1180. 
  1181. File: texinfo.info,  Node: ref,  Next: pxref,  Prev: Top Node Naming,  Up: Cross References
  1182.  
  1183. `@ref'
  1184. ======
  1185.  
  1186.   `@ref' is nearly the same as `@xref' except that it does not generate
  1187. a `See' in the printed output, just the reference itself.  This makes
  1188. it useful as the last part of a sentence.
  1189.  
  1190. For example,
  1191.  
  1192.      For more information, see @ref{Hurricanes}.
  1193.  
  1194. produces
  1195.  
  1196.      For more information, see *Note Hurricanes.
  1197.  
  1198. and
  1199.  
  1200.      For more information, see Section 8.2 [Hurricanes], page 123.
  1201.  
  1202.   The `@ref' command sometimes leads writers to express themselves in a
  1203. manner that is suitable for a printed manual but looks awkward in the
  1204. Info format.  Bear in mind that your audience will be using both the
  1205. printed and the Info format.
  1206.  
  1207. For example,
  1208.  
  1209.      Sea surges are described in @ref{Hurricanes}.
  1210.  
  1211. produces
  1212.  
  1213.      Sea surges are described in Section 6.7 [Hurricanes], page 72.
  1214.  
  1215. in a printed document, and the following in Info:
  1216.  
  1217.      Sea surges are described in *Note Hurricanes::.
  1218.  
  1219.      *Caution:* You *must* write a period or comma immediately after an
  1220.      `@ref' command with two or more arguments.  Otherwise, Info will
  1221.      not find the end of the cross reference entry and its attempt to
  1222.      follow the cross reference will fail.  As a general rule, you
  1223.      should write a period or comma after every `@ref' command.  This
  1224.      looks best in both the printed and the Info output.
  1225.  
  1226. 
  1227. File: texinfo.info,  Node: pxref,  Next: inforef,  Prev: ref,  Up: Cross References
  1228.  
  1229. `@pxref'
  1230. ========
  1231.  
  1232.   The parenthetical reference command, `@pxref', is nearly the same as
  1233. `@xref', but you use it *only* inside parentheses and you do *not* type
  1234. a comma or period after the command's closing brace.  The command
  1235. differs from `@xref' in two ways:
  1236.  
  1237.   1. TeX typesets the reference for the printed manual with a lower case
  1238.      `see' rather than an upper case `See'.
  1239.  
  1240.   2. The Info formatting commands automatically end the reference with a
  1241.      closing colon or period.
  1242.  
  1243.   Because one type of formatting automatically inserts closing
  1244. punctuation and the other does not, you should use `@pxref' *only*
  1245. inside parentheses as part of another sentence.  Also, you yourself
  1246. should not insert punctuation after the reference, as you do with
  1247. `@xref'.
  1248.  
  1249.   `@pxref' is designed so that the output looks right and works right
  1250. between parentheses both in printed output and in an Info file.  In a
  1251. printed manual, a closing comma or period should not follow a cross
  1252. reference within parentheses; such punctuation is wrong.  But in an
  1253. Info file, suitable closing punctuation must follow the cross reference
  1254. so Info can recognize its end.  `@pxref' spares you the need to use
  1255. complicated methods to put a terminator into one form of the output and
  1256. not the other.
  1257.  
  1258. With one argument, a parenthetical cross reference looks like this:
  1259.  
  1260.      ... storms cause flooding (@pxref{Hurricanes}) ...
  1261.  
  1262. which produces
  1263.  
  1264.      ... storms cause flooding (*Note Hurricanes::) ...
  1265.  
  1266. and
  1267.  
  1268.      ... storms cause flooding (see Section 6.7 [Hurricanes], page 72)
  1269.      ...
  1270.  
  1271.   With two arguments, a parenthetical cross reference has this template:
  1272.  
  1273.      ... (@pxref{NODE-NAME, CROSS-REFERENCE-NAME}) ...
  1274.  
  1275. which produces
  1276.  
  1277.      ... (*Note CROSS-REFERENCE-NAME: NODE-NAME.) ...
  1278.  
  1279. and
  1280.  
  1281.      ... (see Section NNN [NODE-NAME], page PPP) ...
  1282.  
  1283.   `@pxref' can be used with up to five arguments just like `@xref'
  1284. (*note `@xref': xref.).
  1285.  
  1286.      *Please note:* Use `@pxref' only as a parenthetical reference.  Do
  1287.      not try to use `@pxref' as a clause in a sentence.  It will look
  1288.      bad in either the Info file, the printed output, or both.
  1289.  
  1290.      Also, parenthetical cross references look best at the ends of
  1291.      sentences.  Although you may write them in the middle of a
  1292.      sentence, that location breaks up the flow of text.
  1293.  
  1294. 
  1295. File: texinfo.info,  Node: inforef,  Next: uref,  Prev: pxref,  Up: Cross References
  1296.  
  1297. `@inforef'
  1298. ==========
  1299.  
  1300.   `@inforef' is used for cross references to Info files for which there
  1301. are no printed manuals.  Even in a printed manual, `@inforef' generates
  1302. a reference directing the user to look in an Info file.
  1303.  
  1304.   The command takes either two or three arguments, in the following
  1305. order:
  1306.  
  1307.   1. The node name.
  1308.  
  1309.   2. The cross reference name (optional).
  1310.  
  1311.   3. The Info file name.
  1312.  
  1313. Separate the arguments with commas, as with `@xref'.  Also, you must
  1314. terminate the reference with a comma or period after the `}', as you do
  1315. with `@xref'.
  1316.  
  1317. The template is:
  1318.  
  1319.      @inforef{NODE-NAME, CROSS-REFERENCE-NAME, INFO-FILE-NAME},
  1320.  
  1321. Thus,
  1322.  
  1323.      @inforef{Expert, Advanced Info commands, info},
  1324.      for more information.
  1325.  
  1326. produces
  1327.  
  1328.      *Note Advanced Info commands: (info)Expert,
  1329.      for more information.
  1330.  
  1331. and
  1332.  
  1333.      See Info file `info', node `Expert', for more information.
  1334.  
  1335. Similarly,
  1336.  
  1337.      @inforef{Expert, , info}, for more information.
  1338.  
  1339. produces
  1340.  
  1341.      *Note (info)Expert::, for more information.
  1342.  
  1343. and
  1344.  
  1345.      See Info file `info', node `Expert', for more information.
  1346.  
  1347.   The converse of `@inforef' is `@cite', which is used to refer to
  1348. printed works for which no Info form exists.  *Note `@cite': cite.
  1349.  
  1350. 
  1351. File: texinfo.info,  Node: uref,  Prev: inforef,  Up: Cross References
  1352.  
  1353. `@uref{URL[, DISPLAYED-TEXT]}'
  1354. ==============================
  1355.  
  1356.   `@uref' produces a reference to a uniform resource locator (URL).  It
  1357. takes one mandatory argument, the URL, and one optional argument, the
  1358. text to display (the default is the URL itself).  In HTML output,
  1359. `@uref' produces a link you can follow.  For example:
  1360.  
  1361.      The official GNU ftp site is
  1362.      @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu}
  1363.  
  1364. produces (in text):
  1365.      The official GNU ftp site is
  1366.      `ftp://ftp.gnu.ai.mit.edu/pub/gnu'
  1367.  
  1368. whereas
  1369.      The official
  1370.      @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu,
  1371.        GNU ftp site} holds programs and texts.
  1372.  
  1373. produces (in text):
  1374.      The official GNU ftp site (ftp://ftp.gnu.ai.mit.edu/pub/gnu) holds
  1375.      programs and texts.
  1376.  
  1377. and (in HTML):
  1378.      The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp
  1379.      site</A> holds programs and texts.
  1380.  
  1381.   To merely indicate a URL, use `@url' (*note `@url': url.).
  1382.  
  1383. 
  1384. File: texinfo.info,  Node: Marking Text,  Next: Quotations and Examples,  Prev: Cross References,  Up: Top
  1385.  
  1386. Marking Words and Phrases
  1387. *************************
  1388.  
  1389.   In Texinfo, you can mark words and phrases in a variety of ways.  The
  1390. Texinfo formatters use this information to determine how to highlight
  1391. the text.  You can specify, for example, whether a word or phrase is a
  1392. defining occurrence, a metasyntactic variable, or a symbol used in a
  1393. program.  Also, you can emphasize text.
  1394.  
  1395. * Menu:
  1396.  
  1397. * Indicating::                  How to indicate definitions, files, etc.
  1398. * Emphasis::                    How to emphasize text.
  1399.  
  1400.